Optimizations in the Cibyl binary translator for J2ME devices

نویسندگان

  • Simon Kågström
  • Håkan Grahn
  • Lars Lundberg
چکیده

The Java J2ME platform is one of the largest software platforms available, and often the only available development platform for mobile phones, which is a problem when porting C or C++ applications. The Cibyl binary translator targets this problem, translating MIPS binaries into Java bytecode to run on J2ME devices. This paper presents the optimization framework used by Cibyl to provide compact and well-performing translated code. Cibyl optimizes expensive multiplications/divisions, floating point support, function co-location to Java methods and provides a peephole optimizer. The paper also evaluates Cibyl performance both in a real-world GPS navigation application where the optimizations increase display update frequency with around 15% and a comparison against native Java and the NestedVM binary translator where we show that Cibyl can provide significant advantages for common code patterns.

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Fast Binary Translation: Translation Efficiency and Runtime Efficiency

Fast binary translation is a key component for many modern software techniques. This paper reflects on the implementation of fastBT, a generator for low-overhead, tablebased dynamic (just-in-time) binary translators. We discuss the most challenging sources of overhead, propose optimizations to further reduce these penalties, and present a detailed performance analysis with different approaches ...

متن کامل

Dynamic Re-engineering of Binary Code with Run-time Feedbacks

Dynamic binary translation is the process of translating, modifying and rewriting executable (binary) code from one machine 4 to another at run-time. This process of low-level re-engineering consists of a reverse engineering phase followed by a forward 5 engineering phase. 6 UQDBT, the University of Queensland Dynamic Binary Translator, is a machine-adaptable translator. Adaptability is provide...

متن کامل

Register Liveness Analysis for Optimizing Dynamic Binary Translation

Dynamic binary translators compile machine code from a source architecture to a target architecture at run time. Due to the hard time constraints of just-in-time compilation only highly efficient optimization algorithms can be employed. Common problems are an insufficient number of registers on the target architecture and the different handling of condition codes in source and target architectu...

متن کامل

Low-Complexity Dynamic Translation in VDebug

Machine-level dynamic binary translation has been used in applications ranging from debugging, performance analysis, and security policy enforcement to full machine virtualization. Most implementations are optimized for performance rather that simplicity: they translate to an internal intermediate form before generating target code. While an intermediate form greatly assists certain types of co...

متن کامل

Specification-Driven Dynamic Binary Translation

Machine emulation allows for the simulation of a real or virtual machine, the source machine, on various host computers. A machine emulator interprets programs that are compiled for the emulated machine, but normally at a much reduced speed. Therefore, in order to increase the execution speed of such interpreted programs, a machine emulator may apply different dynamic optimization techniques. I...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 2008